<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Artifact: DeveloperTest</title>
<meta name="uma.type" content="Artifact">
<meta name="uma.name" content="developer_test">
<meta name="uma.presentationName" content="DeveloperTest">
<meta name="uma.category" content="@Type:@Name:@DisplayName">
<meta name="element_type" content="Artifact">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../css/default.css" type="text/css">
<script src="./../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../';
					var imgPath = './../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo, '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="_kh9FcJ02EdyQ3oTO93enUw"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Artifact: DeveloperTest</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../images/artifact.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">The Developer Test validates a specific aspect of an implementation element.</td>
</tr>
<tr>
<td>Domains: <a href="./../../core.default.cat_def.base/domains/development_domain_F86779DE.html" guid="_5JQLoK80Edy9cPK11VzBuQ">Development</a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Purpose</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell">This
artifact is used to evaluate whether an implementation element performs as
specified.</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Roles</th><td class="sectionTableCell" width="42%"><span class="sectionTableCellHeading">Responsible:
								</span>
<ul>
<li>
<a href="./../../core.default.role_def.base/roles/developer_C633AB7.html" guid="_0YDosMlgEdmt3adZL5Dmdw">Developer</a>
</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">Modified By:
								</span>
<ul>
<li>
<a href="./../../core.default.role_def.base/roles/developer_C633AB7.html" guid="_0YDosMlgEdmt3adZL5Dmdw">Developer</a>
</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Tasks</th><td class="sectionTableCell" width="42%"><span class="sectionTableCellHeading">Input To:
								</span>
<ul>
<li>
<a href="./../../practice.tech.test_driven_development.base/tasks/run_developer_tests_3D3E4A79.html" guid="_R7atwJfIEdyZkIR-s-Y8wQ">Run Developer Tests</a>
</li>
</ul>
<br>
<ul>
<li>
<a href="./../../practice.tech.test_driven_development.base/tasks/implement_solution_BB8B03DA.html" guid="_Ht-z8JfJEdyZkIR-s-Y8wQ">Implement Solution</a>
</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">Output From:
								</span>
<ul>
<li>
<a href="./../../practice.tech.test_driven_development.base/tasks/implement_developer_tests_C61D8062.html" guid="_znlIcJR9EdyVKbgqUOtqQA">Implement Developer Tests</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Main Description</th><td class="sectionTableCell"><p>
    This artifact covers all of the steps to validate a specific aspect of an implementation element. For example, a test
    could ensure that the parameters of a method properly accept the uppermost and lowermost required values. A developer
    test specifies test entries, execution conditions, and expected results. These details are identified to evaluate a
    particular aspect of a scenario.
</p>
<p>
    When you collect developer tests for a specific implementation element, you can validate that the element performs as
    specified.
</p>
<p>
    The tests be self-documenting so that it is clear upon completion of the test whether the implementation element has
    run correctly.
</p></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Brief Outline</th><td class="sectionTableCell"><p>Although
there is no predefined template for this work product, and testing tools affect
how the work product is handled, you should address the following issues:</p> <ul>
<li>         Setup     </li>
<li>         Inputs     </li>
<li>         Script     </li>
<li>         Expected Results     </li>
<li>         Evaluation Criteria     </li>
<li>         Clean-Up     </li>
</ul></td>
</tr>
</table>
</div>
<div class="sectionHeading">Tailoring</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Impact of not having</th><td class="sectionTableCell">If
you do not run developer tests, you cannot ensure that elements that you modify
over time are working. This can inhibit iterative development and maintenance.</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Reasons for not needing</th><td class="sectionTableCell">If
you can embed the tests into the production code, you might not need a separate
work product. Nonetheless, some level of support for developer testing is
always necessary when you develop application software.</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Representation Options</th><td class="sectionTableCell"><p align="left">     Suggestions and options for representing this work product: </p> <h4> 
   Suggestion: Automated code unit </h4> <p> The most appropriate technique
for running these tests is to use code that tests the implementation element
scenarios and that you can run regularly as you update the system during development. </p> <p> When
code is the sole form of the tests, ensure that the code is self-documenting.
The code should document the specifications of the conditions you are testing
and the setup or clean-up that is required for the test to run properly. </p> <h4> 
   Option: Manual instructions </h4> <p>In some cases, you can use manual
instructions. For example, when testing a user interface, a developer might
follow a script, explaining the implementation element. In this case, it is
still valuable to create a test harness that goes straight to the user interface.
That way, the developer can follow the script without having to follow a complicated
set of instructions to find a particular screen or page. </p> <h4>     Option:
Embedded code </h4> <p> You can use certain technologies (such as Java&#x2122;
5 Test Annotation) to embed tests in the implementation. In these cases, there
will be a logical work product, but it will be <?Pub Caret?>assimilated into
the code that you are testing. When you use this option, ensure that the code
is self-documenting.</p></td>
</tr>
</table>
</div>
<div class="sectionHeading">More Information</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Checklists</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../core.tech.common.extend_supp/guidances/checklists/developer_test_4E2C0EF5.html" guid="_dxaPUF-BEd2T0JdVjRyaQA">Developer Test</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright"><p> This program and the accompanying materials are made available under the<br />
  <a href="http://www.eclipse.org/org/documents/epl-v10.php" target="_blank">Eclipse 
  Public License V1.0</a>, which accompanies this distribution. </p><p/><p> <a class="elementLink" href="./../../core.default.release_copyright.base/guidances/supportingmaterials/openup_copyright_C3031062.html" guid="_UaGfECcTEduSX6N2jUafGA">OpenUP Copyright</a></p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
